/* NAVBAR */
.navbar{
    display: flex;
    background-color: rgb(255, 255, 255);
}

.navbar-nav{
    display: flex;
    justify-content: center; /* esto centra horizontalmente las opciones */
    align-items: center;     /* centra verticalmente los items */
    width: 100%;             /* ancho máximo disponible */
    padding: 0 20px;
}

.navbar-logo{
    height: 50px;
    aspect-ratio: 1/1;
    border-radius: 8px; /* redondeado de imagen */
}

/* CONTENEDOR PRINCIPAL: DESCRIPCIÓN + IMAGEN */
.contenedor-descripcion {
    margin-top: 4%;
    display: flex;
    justify-content: center; /* centra el contenido horizontalmente */
    align-items: flex-start; /* alinea verticalmente al inicio */
    gap: 30px;               /* espacio entre texto e imagen */
    width: 100%;
    flex-wrap: wrap;          /* permite bajar elementos en móvil */
}

/* LADO IZQUIERDO: TÍTULO + CONTENIDO */
.text1 {
    display: flex;
    flex-direction: column;
    gap: 15px;               /* espacio entre título, contenido y botones */
    width: 500px;             /* ancho fijo para mantener proporción */
}

.titulo {
    margin: 0;
    font-size: 60px;         /* título más grande */
}

.contenido1 {
    margin: 0;
    font-size: 25px;         /* texto más grande */
}

/* BOTONES */
.Contenedor-botones {
    display: flex;           /* los pone en fila horizontal */
    gap: 10px;               /* espacio entre botones */
    margin-top: 15px;        /* separa los botones del texto */
}

/* LADO DERECHO: IMAGEN PRINCIPAL */
.imagen-home {
    width: 500px;            /* ancho fijo */
    height: auto;            /* mantiene proporción */
    object-fit: cover;       /* recorta si es necesario */
    border-radius: 8px;      /* opcional */
}

/* CONTENEDOR DE TARJETAS */
.contenedor-tarjetas-descripcion {
    display: flex;           /* coloca las tarjetas en fila */
    gap: 10px;               /* espacio entre cada tarjeta */
    justify-content: center; /* centra las tarjetas horizontalmente */
    flex-wrap: wrap;         /* permite bajar a la siguiente línea en móvil */
    margin-top: 20px;        /* separación arriba de las tarjetas */
}

/* TARJETAS MINI */
.card-mini {
    width: 200px;             /* ancho de la tarjeta */
    height: 40px;             /* altura fija */
    display: flex;            /* fila horizontal */
    align-items: center;      /* centra verticalmente el contenido */
    padding: 5px 10px;        /* espacio interno */
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
    overflow: hidden;
    gap: 10px;                /* espacio entre imagen y texto */
}

.card-mini img {
    height: 30px;             /* imagen un poco más pequeña que la tarjeta */
    width: 30px;
    object-fit: cover;
    border-radius: 4px;       /* opcional */
}

.card-mini-text {
    display: flex;
    flex-direction: column;
    justify-content: center;  /* centra las dos líneas verticalmente */
    line-height: 1;           /* asegura que las líneas quepan dentro de 40px */
}

.card-mini-text .titulo {
    font-size: 12px;
    font-weight: bold;
}

.card-mini-text .subtitulo {
    font-size: 10px;
    color: gray;
}


/* SECCION 2 DE LA PAGINA PRINCIPAL */

.seccion-2 {
    margin-top: 4%;                /* separa la sección de lo que esté arriba (navbar, etc.) */
    display: flex;                 /* activa flexbox para la sección */
    justify-content: center;       /* centra horizontalmente el bloque completo */
    align-items: flex-start;       /* alinea los elementos al inicio vertical del contenedor */
    gap: 30px;                     /* espacio entre elementos principales (texto e imagen) */
    width: 100%;                   /* ocupa todo el ancho disponible */
    flex-wrap: wrap;               /* permite que los elementos bajen a la siguiente línea en pantallas pequeñas */
}

.contenedor-seccion-2 {
    display: flex;                 /* activa flexbox dentro del contenedor de texto */
    flex-direction: column;        /* apila título, contenido y botones verticalmente */
    justify-content: flex-start;   /* alinea los elementos al inicio (top) dentro del contenedor */
    gap: 15px;                     /* espacio entre título, contenido y botones */
    width: 500px;                  /* ancho fijo para mantener proporción */
    text-align: center;
}

/*DISEÑO TARJETAS*/
.card-servicio {
    max-width: 250px;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    padding: 20px;
    text-align: center;
    margin: 10px;
}

.icono-circular {
    width: 60px;
    height: 60px;
    background-color: #e0eaff; /* círculo azul claro */
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto 15px auto; /* centra y agrega espacio abajo */
}

.icono-circular img {
    width: 30px;
    height: 30px;
    object-fit: cover;
}

.card-body-servicio .card-titulo-servicio {
    font-weight: bold;
    font-size: 16px;
    margin-bottom: 10px;
}

.card-body-servicio .card-text-servicio {
    font-size: 14px;
    color: #333333;
    margin-bottom: 10px;
}

.lista-servicio {
    list-style-type: disc;
    list-style-position: inside;
    padding: 0;
    margin: 0;
    font-size: 13px;
    color: #333333;
}

.lista-servicio li {
    margin-bottom: 5px;
    position: relative;
}

.lista-servicio li::marker {
    color: #0066ff; /* color azul de los puntos */
}

.contenedor-tarjetas-seccion2{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

/* ===== FOOTER ===== */
.footer {
    background-color: #0d1117;
    color: #d1d5db;
    padding: 50px 80px;
    font-family: Arial, sans-serif;
}

/* Parte superior (4 columnas) */
.footer-top {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.footer-col {
    flex: 1;
    min-width: 200px;
}

.footer-logo {
    color: #ffffff;
    font-size: 24px;
    margin-bottom: 10px;
}

.footer-desc {
    font-size: 14px;
    color: #d1d5db;
    margin-bottom: 15px;
}

.footer-socials i {
    font-size: 18px;
    margin-right: 10px;
    color: #d1d5db;
    cursor: pointer;
}

.footer-socials i:hover {
    color: #007bff;
}

.footer-col h3 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #ffffff;
}

.footer-col ul {
    list-style: none;
    padding: 0;
}

.footer-col ul li {
    font-size: 14px;
    margin-bottom: 8px;
    cursor: pointer;
}

.footer-col ul li:hover {
    color: #007bff;
}

/* Contacto */
.footer-contact li {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Línea divisoria */
.footer-divider {
    border-top: 1px solid #333;
    margin: 30px 0;
}

/* Parte inferior */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: 14px;
    color: #d1d5db;
}

.footer-links a {
    margin-left: 20px;
    color: #d1d5db;
    text-decoration: none;
}

.footer-links a:hover {
    color: #007bff;
}

/* Responsivo */
@media (max-width: 768px) {
    .footer {
        padding: 40px 20px;
    }
    .footer-top {
        flex-direction: column;
    }
    .footer-bottom {
        flex-direction: column;
        align-items: center;
        gap: 10px;
    }
}


